Synopsis Language Support for Exploiting Software Structure Specifications
نویسنده
چکیده
Precise specification of the architecture and design of software is a good practice. Such specifications contain a lot of information about the software that can potentially be exploited by tools, to reduce redundancy in software writing by automating routine tasks, as well as giving valuable feedback on the software. In this synopsis we introduce the domain of ‘exploiting software structure specifications’, and classify exploitations based on their intent, and look at some of the issues involved in writing them. Most of these exploitations are programmed using conventional programming languages that do not provide primitives that are routinely required. We identify some patterns that are seen while exploiting software structure specifications and abstract them out into a language specially designed for the purpose. Our effort is a language called LEADS, where we attempt to make writing such tools a lot easier, modular, organized and portable. LEADS is based on the Pattern-Action approach, where one specifies the pattern of information of interest and the actions to be taken when it is found. The patterns are specified using a custom declarative language that is enriched with special primitives for routinely occurring constructs. LEADS also decouples itself from the specification environments and formats thereby ensuring wide applicability. This enables LEADS scripts to be ported across design environments with minimal effort. The following sections in the synopsis provide an overview of the thesis, and highlight the various issues dealt in detail in the thesis. Exploiting software structure specifications Software engineering as a discipline has progressed a lot in the past decades. The need to build software in an organized and coordinated manner has encouraged modelling of the software system at varying degrees of detail before it is actually developed. To enable accurate and precise modelling, several modelling and description languages have been proposed over the years. Models assist decomposition of a complex problem, and make the responsibilities of the various constituents of the software system clear. A software system can be modelled at various levels. Models can capture the early thought process in the conception of a software product, the issues
منابع مشابه
Artificial Intelligence for Software Engineering : Proving Correctness of Formal Net - based Specifications ( Extended
System development consists of requirements' development and software development. By requirement development we mean documenting a synopsis, a narrative and expectations, formalization and analysis through models of the problem domain, and specification of the requirements. By software development, we mean a twofold effort, starting from requirements stated in the step above mentioned: specifi...
متن کاملStrengthening Eiffel Contracts using Models
Creating proper contracts as interface specifications for software components is a key quality for the usability of the component in various contexts. A major goal of software engineering is to extend the expressiveness of these contracts and to enable component developers to use contracts for their own benefit with as little overhead as possible. One source for this overhead might be changes i...
متن کاملVom Fachbereich für Mathematik und Informatik
Conceptual modelling is the process of the software life cycle concerned with the identification and specification of requirements for the system to be built. In the last years, the ever increasing demands for software correctness have encouraged the use of formal methods in the modelling process. The use of formal specification languages provides more precise and concise specifications, and a ...
متن کاملBehaviour Analysis based on Software Architecture
In our approach, software architecture design has been identified as the common underlying structure of the various phases of system development. To address this requirement, the Darwin architecture description language has been designed to be sufficiently abstract to support multiple views. In this way, software architecture describes the basic structure, which can be enriched with behaviour s...
متن کاملA Formal Software Specification Tool Using the Entity-Relationship Model
Software engineering, like any other engineering field, needs to use formal methods to prove the reliability of its products and optimise their production and maintenance. In order to do that, software specification needs to be expressed in a language whose vocabulary, syntax and semantics are formally defined. These languages can be a federating formalism in information systems for data struct...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000